/**
 * @Copyright ®2015 Sinosoft Co. Ltd. All rights reserved.<br/>
 * 项目名称 : 电子商务云服务平台
 * 创建日期 : 2016年6月28日
 * 修改历史 : 
 *     1. [2016年7月15日]修改文件 by lijialun
 * 添加Javadoc注释，更新代码规范，静态工具类增加private构造函数
 */
package com.gavinwind.inspay.common.web.filter;


import com.gavinwind.inspay.common.dto.SystemContext;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

/**  
 * 【类或接口功能描述】
 * @author Mr.li
 * @date 2016年7月15日 上午11:16:21 
 * @version V1.0  
*/
public class SystemContextFilter implements Filter {
    /** 
     * 方法功能描述
     * @see javax.servlet.Filter#destroy() 
    */
    public void destroy() {

    }

    /** 
     * 方法功能描述
     * @param cReq
     * @param cResp
     * @param cChain
     * @throws java.io.IOException
     * @throws javax.servlet.ServletException
     * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
    */
    public void doFilter(ServletRequest cReq, ServletResponse cResp, FilterChain cChain) throws IOException, ServletException {
        try {
            SystemContext.setRealPath(((HttpServletRequest) cReq).getSession().getServletContext().getRealPath("/"));
            cChain.doFilter(cReq, cResp);
        } finally {
            SystemContext.removeRealPath();
        }
    }

    /**
     * 方法功能描述
     * @param cArg0
     * @throws javax.servlet.ServletException
     * @see javax.servlet.Filter#init(javax.servlet.FilterConfig) 
    */
    public void init(FilterConfig cArg0) throws ServletException {

    }
}
